int get_int(int base_addr)
{
    return *reinterpret_cast<int*>(base_addr);
}
int get_int(int base_addr, int offset1)
{
    return *reinterpret_cast<int*>(get_int(base_addr) + offset1);
}

int get_int(int base_addr, int offset1, int offset2)
{
    return *reinterpret_cast<int*>(get_int(base_addr, offset1) + offset2);
}

int get_int(int base_addr, int offset1, int offset2, int offset3)
{
    return *reinterpret_cast<int*>(get_int(base_addr, offset1, offset2) + offset3);
}

int get_int(int base_addr, int offset1, int offset2, int offset3, int offset4)
{
    return *reinterpret_cast<int*>(get_int(base_addr, offset1, offset2, offset3) + offset4);
}

int get_int(int base_addr, int offset1, int offset2, int offset3, int offset4, int offset5)
{
    return *reinterpret_cast<int*>(get_int(base_addr, offset1, offset2, offset3, offset4) + offset5);
}

int get_int(int base_addr, int offset1, int offset2, int offset3, int offset4, int offset5, int offset6)
{
    return *reinterpret_cast<int*>(get_int(base_addr, offset1, offset2, offset3, offset4, offset5) + offset6);
}

int get_int(int base_addr, int offset1, int offset2, int offset3, int offset4, int offset5, int offset6, int offset7)
{
    return *reinterpret_cast<int*>(get_int(base_addr, offset1, offset2, offset3, offset4, offset5 , offset6) + offset7);
}

int get_int(int base_addr, int offset1, int offset2, int offset3, int offset4, int offset5, int offset6, int offset7, int offset8)
{
    return *reinterpret_cast<int*>(get_int(base_addr, offset1, offset2, offset3, offset4, offset5 , offset6 , offset7) + offset8);
}

int get_int(int base_addr, int offset1, int offset2, int offset3, int offset4, int offset5, int offset6, int offset7, int offset8, int offset9)
{
    return *reinterpret_cast<int*>(get_int(base_addr, offset1, offset2, offset3, offset4, offset5, offset6 , offset7,  offset8) + offset9);
}


std::wstring get_wstring(int base_addr, int offset1, int offset2, int offset3)
{
    return reinterpret_cast<wchar_t*>(get_int(base_addr, offset1, offset2, offset3));
}

std::wstring get_wstring(int base_addr, int offset1, int offset2, int offset3, int offset4, int offset5, int offset6, int offset7 )
{
    return reinterpret_cast<wchar_t*>(get_int(base_addr, offset1, offset2, offset3, offset4, offset5, offset6, offset7));
}


